#pragma once
#include "../BoardGameBase/GameCard.h"

class CBattleLineCard :
	public CGameCard
{
public:
	enum CARD_TYPE
	{
		NUM_RED,
		NUM_GREEN,
		NUM_YELLOW,
		NUM_BLUE,
		NUM_PURPLE,
		NUM_EARTH,

		TACTIC_Leader1,
		TACTIC_Leader2,
		TACTIC_Companion_Cavalry,
		TACTIC_Shield_Bearers,
		TACTIC_Fog,
		TACTIC_Mud,
		TACTIC_Scout,
		TACTIC_Redeploy,
		TACTIC_Deserter,
		TACTIC_Traitor,

		CARD_NUM_START = NUM_RED,
		CARD_NUM_END   = NUM_EARTH,

		CARD_TACTIC_START = TACTIC_Leader1,
		CARD_TACTIC_END   = TACTIC_Traitor,

		CARD_START = NUM_RED,
		CARD_END = TACTIC_Traitor,
	};

private:
	
	CARD_TYPE m_eType;
	int       m_iNum;

	struct CARD_DESC
	{
		const char* const m_pDesc;
	};
	static CARD_DESC ms_DescArray[];

public:
	CBattleLineCard(void);
	virtual ~CBattleLineCard(void);

	void Init(void);
	void Update(float);
	void Render(void);
	void Deinit(void);

	void Init(CARD_TYPE eType,int num);

	const char* GetCardDesc(CARD_TYPE eType);
};
